Matching users based on behavior in a social network

ABSTRACT

Observation-based user profiling and profile matching are provided. The network behavior of users of a computer-implemented social network are observed and used for user profiling. By observing network behavior instead of necessarily relying on user self-reported data, accurate and objective user profiles can be formed; user profiling is accomplished based on the observed network behaviors with or without the knowledge of the user being profiled. The observed network behaviors can include the customization of a visual graphic, a media preference, a communication preference, or a selection of words from a wordlist. The user profiles can be with respect to a domain and two or more users can be matched based on their profiles with respect to the same domain. User ratings and profile updating based on the ratings are also provided.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application relates to U.S. Ser. No. 13/920,335, filed Jun. 18,2013, which is a continuation of U.S. Ser. No. 13/442,157, filed Apr. 9,2012, now U.S. Pat. No. 8,473,440, which is a continuation of U.S. Ser.No. 12/215,957, filed Jun. 30, 2008, now U.S. Pat. No. 8,156,064, which(i) relates to U.S. Provisional Application No. 60/948,157, filed Jul.5, 2007 and (ii) is a continuation-in-part of U.S. Ser. No. 11/999,249,filed Dec. 3, 2007, now U.S. Pat. No. 8,533,269, each of which isincorporated by reference in their entirety.

FIELD OF THE INVENTION

The invention relates generally to social networks. More particularly,the present invention relates to user profiling and profile matching ina computer-implemented social network.

BACKGROUND OF THE INVENTION

Many Internet-based or web-based social networks are powerful tools toconnect people separated by potentially vast distances. Social networkscurrently allow users to build a user profile and connect to friendswhom the user may or may not already know from other social means. Someexisting social networks, particularly dating websites, offersuggestions to their users for possible matches with other users.Typically, these matches are suggested based on characteristics providedin the user profiles.

User matching found in existing web-based social networks, however,suffer from the fact that they rely on user self-reported data to builda user profile. For example, dating websites typically provide surveysfor their users to fill out. The surveyed users are then matched withsuggested counterparts based on the survey data. With user profilesstrictly reliant on self-reported data, users can easily provide aninaccurate portrayal of themselves. In other words, users are likely togame the system to attempt to look better or different than their actualselves. Since users are matched based on their profiles, inaccurate userprofiles would naturally lead to improper or imperfect matches.

Furthermore, the user surveys provided by existing social networkstypically ask the users to answer direct questions related to aparticular subject. Therefore, the surveys are only relevant to one or asmall number of topics or subjects and can be completely useless foruser profiling with respect to other topics. In this scenario,additional user surveys may be required when the social network attemptsto match users for other purposes. The additional surveys would be anannoyance to the users of the social network. For the example of datingwebsites, the user surveys generally contain questions related toparticular romantic interests of the user. Though these questions may berelevant to dating, they may be completely irrelevant for anotherpurpose, such as a community service event.

The present invention addresses at least the difficult problems of userprofiling and profile matching.

SUMMARY OF THE INVENTION

The present invention is directed to profiling and profile matchingbased on observed network behavior. An application server operates acomputer-implemented social network of users. One or more networkbehaviors of at least some of the users of the social network areobserved. A network behavior can include a customization of a visualgraphic by the observed user, a media preference of the observed user, acommunication preference of the observed user, or any combinationthereof. The observed network behaviors can be stored in a database.

Observed users are profiled based on the network behaviors, where theprofiling is with respect to one or more domains, such as a romanticinteraction, a transportation organization, an exercise goal, a fitnessgoal, a diet regimen, a smoking habit, an addiction, a cause, acommunity service, a physical activity, an emotional state,participation in a collaboration or project, participation in a studygroup for a class, online education, or any combination thereof. Two ormore of the profiled users can be matched with respect to the samedomain based on the user profiles.

In a preferred embodiment, the user profiling includes associating oneor more scale factors for each of the observed network behaviors. Thescale factor associating is based on a relevance of an observed networkbehavior to the domain used in profiling. In an embodiment, a ratingfunction is also provided for rating the profile matching. The ratingcan be based on one or more user inputs of the matched profiled users, aparticipation data of the matched profiled users, or any combinationthereof. The ratings can be used to update the user profiles and/orprofile matches. In a preferred embodiment, the scale factors arerefined based on the ratings.

In an embodiment, an observed network behavior includes thecustomization of an avatar, including determining the appearance of theavatar. Another observed network behavior includes media preference,where the media preference is associated with a media content, a mediatype, a frequency of media playback or any combination thereof. Anobserved network behavior can also include a communication preference,including a communication method, a communication timing, acommunication frequency, or any combination thereof. In an embodiment, anetwork behavior also includes a selection of words from a word list bythe observed user, where the words are associated with a value, a need,a goal, or any combination thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention together with its objectives and advantages willbe understood by reading the following description in conjunction withthe drawings, in which:

FIG. 1 shows an example of matching users U of a computer-implementedsocial network based on profiles P(D) from observed network behavioraccording to the present invention.

FIG. 2 shows a matrix of scale factors SF for domains D and networkbehaviors according to the present invention.

FIG. 3 shows an example function for customizing an avatar according tothe present invention.

FIG. 4 shows an example word selection as an example network behaviorfor observation according to the present invention.

FIG. 5 shows an example of a portable communication device where usernetwork behavior can be observed according to the present invention.

FIG. 6 shows an example of a rating function including user input andparticipation data according to the present invention.

FIG. 7 shows a flow chart including profiling, profile matching, andprofile updating according to the present invention.

FIG. 8 shows a flow diagram a method for observing network behavior.

FIG. 9 shows potential reaction information entered by users in responseto data content received by the users.

FIG. 10 shows a flow diagram a method for building a model for newdomains and/or new behaviors.

FIG. 11 shows a flow diagram of a method for defining a set of behaviorsbetween objects of different dimensions.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Accurately profiling individuals can be a difficult task. Incomputer-implemented social networks, self-reported data are often usedto profile individuals and, possibly, match multiple individuals basedon the profiles. However, self-reported data can be highly inaccuratedue to their reliance on the objectivity of the reporting individuals.The present invention is directed to profiling and profile matchingbased on observed network behavior of users of a computer-implementedsocial network.

FIG. 1 shows an example of a computer-implemented social network ofusers (e.g., U). An application server operates the social network overa communication network, such as the Internet, through one or moreinterfaces to the communication network. In an embodiment, each user Uof the social network is able to communicate, or otherwise interact,with at least another user U of the social network. In certainembodiments, each user has a list of friends who may also be users ofthe social network.

It is important to note that the users U of the social network canperform one or more network behaviors (e.g., NB), including acustomization of a visual graphic, a media preference, and acommunication preference. The network behaviors NB can be observed andstored in a database. The network behavior NB is used to profile each ofthe observed users U. In a preferred embodiment a profile (e.g., P(D))is generated with respect to one or more domains (e.g., D). The domain Dcan be related to a romantic interaction, a transportation organization,an exercise goal, a fitness goal, a diet regimen, an addiction, asmoking habit, a cause, a community service, a physical activity, anemotional state, participation in a collaboration or project,participation in a study group for a class, or any combination thereof.The profile P(D) of each user U is generated by a profiling functionbased on the observed network behavior NB.

In a preferred embodiment, the profiles P(D) of the observed users U areused to match two or more compatible users with respect to the domain D.In FIG. 1, user 110 and user 120 both have profiles P(D) related to X.Due to this relation, a matching function can match user 110 and user120 with respect to the domain D. In an embodiment, the purpose ofprofile matching can be related to certain goals, needs, or interests ofthe users. For example, users can be matched to find a carpool partner,to find an exercise partner, to find a support group for diet, weightloss, smoking, or another addiction, or to find a cause or communityservice activity. In other embodiments, matched users can becommunicatively connected, such as by email, telephone, instantmessaging, video chatting, and/or in person. For computer-implementedsocial networks where each user has a friends list, matching can be usedto add friends to the friends list. Generally, the users may be matchedto other people, content, products, services, events and/or groups.

In a preferred embodiment of the present invention, the profilingfunction associates one or more scale factors for each of the observednetwork behaviors NB. The scale factors are associated based on arelevance of the observed network behavior NB to the domain D. FIG. 2shows a matrix of scale factors (e.g., SF) for the domains D and thenetwork behaviors NB for one of the users. In particular, an element ofthe matrix SF_(ij) can be related to the relevance of NB_(i) withrespect to domain D. As shown in FIG. 2, a user profile P(D_(j)) withrespect to domain D_(j) is generated based on the scale factors SF inthe column of domain D_(j).

A network behavior NB may be directly relevant, indirectly relevant,partially relevant, or irrelevant to a particular domain D. For example,music preferences may be important to profiling and profile matchingusers for a carpool, but not relevant to another domain. In contrast,values and ideals may be important to profiling users to join a cause,but not with matching users for a carpool. In another example,personality types, such as leader versus follower, risk taker versusconservative, may be relevant for user profiling in a support group forchanging lifestyle and behavior, such as a weight loss or smokingcessation program. In an embodiment, the magnitudes of the scale factorsSF represent the relevancy of the network behavior NB with respect to adomain. The use of observed network behaviors NB enables profiling andprofile matching for any number of domains D without necessarilyrequiring domain-specific input.

It is important to note that a network behavior is observed for apurpose of profiling one or more characteristics of a user withoutnecessarily relying on user-reported data relating to the samecharacteristics. By not relying on user-reported data, the user cannotalter or game his or her profile by providing dubious information usedin profiling. In fact, the user may not even be aware of how theobserved network behavior is used for profiling.

In a preferred embodiment, a network behavior can include acustomization or creation of a visual graphic, such as an avatar, anicon, or any visual representation. FIG. 3 shows an example customizingfunction 300 for users of a social network to customize an avatar 360.The customizing function 300 allows a user to adjust apparent physicaltraits of the avatar 360, such as height 310, weight 320, hair color330, and hair length 340. In an embodiment, the user is offered aselection of choices for the avatar look and clothing. Creating anavatar's look and feel can reveal user preferences, such as gender,gender-related preferences, style, and attitude, without explicitlyasking the user. Though the customizing function 300 shows a toggle 350for adjusting the properties of the physical traits, other methods ofcustomizing the appearance of the avatar 360 can be employed, such asdragging and dropping desired characteristics onto the avatar 360 orvisual graphic.

The observed network behavior can also include user media preference. Inan embodiment, the media preference is associated with media content,media type, frequency of media playback, or any combination thereof. Themedia content can include music, movies, television shows, and otheraudio-visual media. The media preferences can be extracted from themedia player operated by the user or by user-entry. In addition, one ormore behavioral characteristic, such as early adopter behavior oropenness to new experience, can be determined based on timing, source,and means of media purchases. For example, information relating towhether or not the media was discovered originally by the user orthrough friends of the user can be used to measure attributes about theuser. Similarly, information relating to the time after release of themedia may be pertinent to certain domains and behavioralcharacteristics.

In an embodiment, the observed network behavior includes one or morecommunication preferences of the user. The communication preferencesinclude communication methods, such as email, telephone, voice mail, andtext messaging, communication timing, communication frequency, or anycombination thereof. In an embodiment, communication timing andfrequency includes when and how often each communication method is used,the length of time to respond to voice mails, emails, and other forms ofmessaging, and the length of time messages are left in the mail box. Theabove communication preferences can also be used to determine one ormore user behavioral patterns and personality types. For example, userpreference and frequency for video chatting, text messaging, email,and/or telephone can help to predict the technological acumen of a user.The timing of communications can also help to determine if the usergenerally functions in the early morning or late at night.

In another embodiment of the present invention, the observed networkbehaviors include a selection of words by a user from a word list. Thewords available for selection can be associated with values, needs,goals, or any combination thereof. FIG. 4 shows an example of lists ofwords 410 available for selection to describe properties of a selectinguser. In a preferred embodiment, word selection occurs when a user drags420 one or more words from the word list 410 to an icon, such as acandle 430. Other methods of selecting words, such as text boxes, canalso be employed. Optionally, a user can also add new words 440 to theword lists.

An embodiment of the present invention is directed to observing networkbehaviors associated with a handheld communication device and at leastpartially profiling users based on the observed network behaviors on thehandheld communication device. FIG. 5 shows an example of a handheldcommunication device 500 according to the present invention. Thehandheld communication device 500 can be any portable device capable ofcommunicating with the network, including the application serveroperating the computer-implemented social network. For example, ahandheld communication device 500 can include a mobile phone 510, anetwork-integrated mobile phone, such as the iPhone by Apple Computers(Cupertino, Calif., USA), a personal digital assistant, a laptopcomputer, a medical device, a wristwatch, an exercise device, a mediaplayer, an mp3 player, text messaging 520, electronic mail 530, a musicplayer 540, a movie player 550, activity monitor 560, a health monitor570, or any combination thereof.

In an embodiment, network behaviors on the handheld communication device500 to be observed include the above-described communicationpreferences, such as communication methods, timing, and frequency.Communication methods can include phone 510, text messaging 520, andelectronic mail 530. In an embodiment with a mobile phone handheldcommunication device 500, ring tone selection and the assignment of ringtones to individuals can also be observed and used for user profilingand profile matching.

In certain embodiments, the handheld communication device 500 can alsoinclude media playing capabilities 540-550. The observed networkbehaviors on the handheld communication device 500 can include the mediapreferences described above. In particular, user media preferences areobserved from media content stored and/or media playback by the handheldcommunication device 500.

Many portable communication devices, such as mobile phones, havelocation-aware, activity-aware 560, and/or motion-aware technology. Inan embodiment, network behaviors based on location-awareness,activity-awareness, and/or motion-awareness of the user carrying theportable communication device can be observed and used for userprofiling and profile matching. In particular, a portable communicationdevice 500 can include an accelerometer, a global positioning system(e.g., GPS) device, the heart monitor 570, or any device capable ofdetecting user activity. User activity can be observed and communicatedto a profiling function for profiling the user. For example, the speedand distance a user runs and the media preferences of the user whilerunning or undergoing an activity can be observed and used to profilethe user. The profiles can be used for user profile matching. Furtherdescriptions of example portable communication devices havingactivity-detection and network communication capabilities usable inembodiments of the present invention can be found in U.S. Pat. No.8,633,269 filed on Dec. 3, 2007, which is hereby incorporated byreference in its entirety.

It is important to note that in a preferred embodiment, the userprofiles are not static. In particular, the scale factors are updatable;therefore the profiles with respect to one or more domains can change.Changes to user profiles and/or scale factors can be caused byadditional observed network behaviors or changes to past networkbehaviors. In addition, changes to user profiles can occur due toupdates to the relevancy of one or more network behaviors with respectto a domain. In fact, the relevancy updates of the network behaviors cancause changes to user profiles and/or scale factors with or without anyadditions or changes to the network behaviors of the observed users. Therelevance of a network behavior with respect to a domain can be updatedby network activity of one or more users of the social network, or bycumulative activity of some or all of the users of the social network.

In a preferred embodiment, a rating function is provided for users torate the quality of the profiling and/or the profile matching. Anexample rating function 600 is shown in FIG. 6. In an embodiment, therating function 600 can be accessed on a handheld communication device,In particular, the ratings can be based on one or more user inputs anduser surveys. For example, a user can be matched with one or more otherusers with respect to activity X, such as for carpooling. The ratingfunction 600 allows the user to rate his or her compatibility with thematched users 610 or rate the overall profile matching 640. Ratings caninclude alphanumeric metrics, a metric of symbols, such as a number ofstars 650, or any other type of rating metric.

The rating function can also include participation data 620. Theparticipation data can be derived from user input 630. Alternatively oradditionally, the participation data can be observed without user input.In an embodiment, the cancellation of the participation of matched usersfor an activity or the churn rate of matched users can be used to ratethe profile matching.

It is important to note that the ratings can be used to update theprofiles of the profiled users. In particular, the scale factors withrespect to one or more domains can be raised or lowered based on thesuccess of the profile matching as determined by the ratings. FIG. 7shows a flow chart for an embodiment of the present invention withprofile updating, including gathering information by observing one ormore network behaviors of users 710, associating a scale factor to eachof the observed network behavior with respect to a domain 720, profilingeach of the observed users based on the scale factors 730, matchingusers having compatible profiles 740, rate profile matching 750, andupdating the scale factors based on the ratings 760. The updated scalefactors can be used to update 770 the user profiles. The ratings canalso be used to measure the relevance of a network behavior with respectto one or more domains.

The step 710 generally illustrates constructing a profile vector for theuser which is a set of attributes (e.g., [NB1, NB2, . . . , NBn]) forthe network behaviors of the user. The step 720 may associate the scalefactors to one or more current domains by accessing the sale factorvector already associated with each domain SF(D)=[SF1, SF2, SF3, . . . ,SFn]. If a domain is a new domain that has not been used before, thescale factors may all be initialized to a predetermined value (e.g.,unity) in some embodiments. The model may subsequently be trained withdata over time. In other embodiments, an expert may make estimations ofthe initial scale factors based on prior knowledge, research and/orintuition that some network behaviors are believed to be more relevantthan others with respect to a domain. For a new domain, a reasonableestimate of the scale factors is useful. However, since the scalefactors will be trained by the model over time, the initial scalefactors may be allowed to have inaccuracies.

The step 730 generally takes the profile vectors for the users andmultiplying the profile vectors with the scale factors to produce ascaled user profile vector that is weighted for the domain. For example,a user A=[A1, A2, A3, . . . , An] becomes SF^(T)(D)*A for eachattribute=[SF1*A1, SF2*A2, SF3*A3, . . . , SFn*An]. The multiplying isgenerally performed for all the users involved in a match. Eachattribute A1, A2, . . . , An may be a corresponding network behaviorNB1, NB2, . . . , NBn.

The step 730 generally finds the users with the closest match aftermultiplying the scale factors across all of the attributes of all theusers of interest. In some embodiments, a Euclidean distance may becalculated as a distance between vectors. Other techniques fordetermining matches may be implemented to meet the criteria of aparticular application.

In the step 750, the matches may be rated based on user input and/orparticipation data. Matches with good ratings may maintain thecorresponding scale factors unchanged. Poor ratings generally result inchanges to the scale factors to improve future match predictions.

The step 760 generally updates the scale factors when appropriate. Whensufficient data on the success of the matches is available, either fromthe user input or automatically from the participation data, aregression may be run. The scale factors are subsequently recalculatedfor the domain based on the regression run.

FIG. 8 shows a flow diagram a method for observing the network behavior.The method may implement one or both of the steps 710 and/or 750. One ormore users may receive data 810 from the social network. In somesituations, the data may be in the form of content 812 created byothers. In other situations, the users may receive building blocks tochoose from 814 to create content. In still other situations, the usersgenerally receive connections to others 816 from the social network.

The users generally respond to the content/blocks/connections throughsome form of measured behavior information and/or manually-createdinformation entered 820 into the handheld communication device 500. Insome embodiments, the handheld communication device 500 will convert 830the entered information into observed network behaviors and transfer thenetwork behavior information to the application server (or apparatus).In other embodiments, the handheld communication device 500 generallytransfers the received information to the application server (orapparatus), which subsequently converts 830 the information into theobserved network behavior.

FIG. 9 shows potential reaction information entered by the users inresponse to the data received 810 by the users. The network behaviorsthat accumulate data in the user profile are often the result ofengagements with content created by others and presented to the users,either in a news feed, advertisement, promoted post, message or thelike. Reactions 822 of the users to the content can be stronglypositive, positive, weakly positive, neutral, weakly negative, negativeor strongly negative, rather than just zero to positive. The reactionscan also be negative (e.g., levels of dissatisfaction) to neutral (e.g.,ignored) to positive (e.g., level of satisfaction). The responses canalso vary by degree.

In some embodiments, possible responses, ranging from strongly negativeto strongly positive, using an arbitrary scale, may be as follows: −5report abuse; −4 mark as spam; −3 share with negative recommendation,for example “don't buy”; −2 comment with negative bias, for example “theproduct is no good”; −1 dislike, a “thumbs down” function; 0 Ignore; +1Click on the content, for example to view a photo or read “more”; +2“Like” or click thumbs up to indicate a positive response oracknowledgment; +3 Comment with positive sentiment, for example “theproduct is great!”; +4 Share with positive sentiment; and +5 Conversionor follow through to purchase or engage an outcome desired by thecontent presenter. The example −5 to +5 scale values are arbitrary. Thepositive reactions, neutral reaction and negative reactions may bescaled with the scaling factors SF that can be adapted as the systemaccumulates more data.

The building blocks received by the users may be used by the users tocreate new content 824. The choices among the building blocks mayinclude, but are not limited to, self-descriptions, self-photographs,audio files, video files and/or text selections. Other blocks (or files)may be available to the users to create new content and newcompilations.

The self-description choices generally include words that the userschoose to describe themselves. The self-description choices also includewords used in making comments and other descriptions. Theself-description content may also be entries in the user profiled.

The self-photographs generally include photos that the users choose forprofile photographs and photographs posted in the social network.

The audio files generally include sounds that the users choose forposting in the social network. The audio may include, but is not limitedto, voice, music, nature, animals, graphics, of mechanical or electricalorigins, and the like. The audio files may be obtained from othersources in the social network and integrated into new content and/orrecorded by the users and uploaded to a website.

The video files generally include moving pictures that the users choosefor posting in the social network. The video generally includes, but isnot limited to, performances, sports, music-videos, outdoor scenes,indoor scenes, movies, television programs, home movies, and the like.The video files may also be obtained from other sources in the socialnetwork for integration into new content and/or recorded by the usersand uploaded to a website.

The text generally includes information in typed and/or handwrittenform. The text may include, but is not limited to, news articles, blogpostings, books, magazines, lists, and the like. In some situations, thetext may be new content created by the users. In other situations, thetext may be existing content copied from elsewhere in the social networkand integrated into the new content.

The available connections received by the users are generally used toestablish connections to others 826. The others may include at leastother people, places, things, locations, activities, gatherings and/orevents. The users usually have multiple options to select among theconnections. Matching the users with compatible individuals, groups andthe like is generally performed for the purpose of relationships,carpooling, support groups for various activities, participation in acollaboration or project, and/or participation in a study group for aclass. The connection options generally involve, but are not limited to,friend queries, social dates, professional groups, social groups,events, products, jobs, school/education queries, web searches, links,media, events, purchases, travel, communications, locations and/orbookmarks.

The friend connections are generally used to find friends in the socialnetwork. The users may be seeking new friends and/or reestablishingfriendships with old friends.

The social date connections may include queries intended to find otherusers for social dating purposes, sports, church affiliation andcommunity service organizations. The connections options can includeoptions such as education, preferred living areas, physicalcharacteristics, religious backgrounds, hobbies and such. Successfulmatches of values, interests and preferences are helpful to success andvalues of joining other individuals and/or groups.

Many groups facilitate professional development including CEO (e.g.,chief executive officer) groups and key executive groups like Vistageand Alliance of CEOs, and groups affiliated with various professions.The success of such groups depends on the cultural, personal and valuesto fit with the incoming members. Answers to queries created by theprofessional groups can be useful in matching new candidates with theappropriate group and aid various groups in finding new members.

Event connections generally aid the users in choosing a meet-up or localgathering, or deciding which conference, festivals and/or events wouldbe the most valuable to the users. The connections that link the usersto the events are often a function of what kind of people with which theusers would like to be connected.

Products and/or brands have cultures, values, followings that can bematched to the users. The brands that resonate with individual users aremore than just the features and functions of the product, but includethe fit with the interests, values, preferences and other relationshipsof the users.

The success and levels of satisfaction/dissatisfaction with ones job isoften a result of cultural fit. Job queries generally focus oncompatibility of the users with other people on the job as well as thevalues, goals and interests of the organization and leadership.

Schools and/or education connections may be used to match the users witheducational institutions and programs. Success generally depends on apersonal fit of the users to the school and/or educational program asmuch as content or quality by traditional measures. Each of these groupsalso has a cultural profile based on the values, interests, preferencesand biases of the members and the leaders. The groups are as interestedin selecting the users for the right fit with members as members are infit with the group.

Web searches may be used to connect the users with various topics inwhich the users have an interest. The web searches generally result inlinks that the users can follow to connect with a wide variety ofresources available within and external to the social network.

Links generally provide a way for the users to connect from one web pageto another quickly and easily. Links may also be made available to theusers in the form of emails, text messages and other forms of electronicsocial interactions.

The media connections may include selections of music, books, televisionand/or movies. Other media content may be presented and selected basedon the criteria of a particular application.

The event connections generally include events that the users like toattend and/or be a participant. The events may include, but are notlimited to, concerts, festivals, conferences, meet-ups, politicalevents, sporting events, collaborations, projects, study groups and/orclasses (traditional and/or online).

The purchasing options generally involve what the users buy. Thepurchases may be for goods and/or services. Some purchases may includerentals and licensing fees.

Travel connections generally define where the users choose to travel.The choices may include where the users are staying, transportationchoices, and length of the travel.

The communication connection options include with whom the userscommunicate. The choices may also record how the users communicate, forexample, by emails, text messaging, blogs, message forums and otherinteractive techniques generally available in the social networks.Personality type communication choices are generally based on the typeof network a user keeps, whether a close-knit group or a diversecollection of connections.

The location options generally involve where the users are located. Thelocations may be determined by mobile phone or Internet protocol (e.g.,IP) address. Proximity is generally a good predictor of relationshipsand connections.

Bookmarks may provide semi-permanent connections between the users andone or more resources available within and/or external to the socialnetwork. Each bookmark provides a connection shortcut to a uniformresource locator (e.g., URL) that identifies another web page.

FIG. 10, shows a flow diagram a method 1000 for building a model for newdomains and/or new behaviors. Control of the scale factors generallyenables the observations of actual network behaviors to be used toadjust the profiles such that the data reflects the actual userbehavior, not what the user originally entered (possible incorrectly) asself-perceived behavior.

In the step 1002, the observed network behavior (e.g., from the step830) is associated with the domains D already established in thedatabase. If the association was successful per the step 1004, anotherassociation is performed in the step 1006 (e.g., also see step 720)between the observed network behavior and the scale factors SF in thecorresponding one or more domains D. If the associated domains includeone or more scale factors corresponding to the observed network behaviorper the step 1008, the method 1000 continues with the step 1010.

Step 1010 automatically generates ratings (similar to the manual ratingin step 750) to determine how well the existing profile matches theactual behavior. For example, if the profile indicates that a particularuser prefers to stay in and around their home town, and yet theparticular user is constantly traveling to locations far away, theautomatic rating will show that the prefer to stay home attribute is notreliable (e.g., a poor rating). Conversely, if the observed behaviorsupports the profile, the automatic rating will show that thecorresponding attributes are reliable (e.g., a good rating). Theautomatic ratings are used in the step 1012 to update the scale factorsof the attributes associated with the observed network behavior.

If the association in the step 1008 is unsuccessful, a new scale factorfor the network behavior may be estimated in the step 1018. The newscale factor is generally added to the existing domain in the step 1020.

If the association in step 1004 is unsuccessful, a new domain may becreated (e.g., also see step 720) in the step 1022. The new domain maybe added to the database in the step 1024. A new scale factor isgenerally estimated in the step 1026. In some embodiments, the new scalefactor operation of the step 1026 may be similar to the operations ofthe step 1018. The new scale factor is generally added to the new domainin the step 1028.

New scale factors may be started with a default value (e.g., one) or anestimated value based on prior knowledge, experience, research and/orintuition. An example of an estimation for an initial scale factor valuemay be as followed. Consider new domains called “Jogging group” and“Weight loss support”. The new domains generally lack initial scalefactors associating the user profile vectors with the domains. Anexample scale factor estimate may be made such that if “running speed”is an attribute in the network behaviors profile, that attribute mayhave a high scale factor for the “Jogging group” domain. Likewise, a“weight” attribute may have a high scale factor for the “Weight lossgroup” domain. However, whether or not music preferences are importantin such domains may be unknown and so corresponding initial scalefactors may be set to a more neutral value.

FIG. 11 shows a flow diagram of a method 1100 for defining a set ofbehaviors between objects of different dimensions. The method 1100 mayimplement at least one or both of the steps 760 and/or 1012. A number ofpotential features generally exist in the profile vectors after thesteps 822, 824, and/or 826 to describe the users.

Since the users are asked about the quality of the matches in the step750 and/or automatic ratings are generated in the step 1010, a check maybe performed in the step 1102 to determine if the matching involvesobjects (e.g., users, events, places, things, etc. . . . ) of similardimensionality. If the objects do not have similar dimensions (e.g.,matching a user to a location), the relevant attributes suitable for thematching process may be extracted in the step 1104.

The step 1104 generally extracts only the attributes from the userprofiles and the object (or content) profiles which have a reasonableassociation with each other. Therefore, the profile vectors for theusers and for the content may have the same dimensionality and themethod of FIG. 7 may be executed. By way of example, books may have“subjects” as an attribute and users may have “interests” as anattribute. Therefore, books and interests have essentially the samedimensionality. However, books may not have a dimension for “haircolor”, so the hair color attribute may be ignored (or removed from) theprofile vector of the user, or included with a corresponding scalefactor of zero with respect to recommending a book.

A target function is used in the step 1106 where a match probability isa function of the profiles (e.g., Probability Function (profile A,profile B), where A is a vector [A1, A2, . . . , An] and B is a vector[B1, B2, . . . , Bn].) The weights of each dimension of the vectors maybe determined by performing a regression over a large amount of data. Aninitial condition may be that all dimensions have a similar (e.g.,default) weight in determining a match. As data is accumulated, one ormore regressions may be performed to find, for example, that somefeatures are much more important than others in determining the matches.

In the step 1106, a match probability is generally calculated based onwhat is being matched and the relevant attributes. When the matching ispeople-to-people or other similarly matched content, the dimensionalityis generally the same between the two user profile vectors. Whenmatching people to other types of content, the relevant attributes usedin the matching process may be extracted in the step 1104.

In the step 1108, comparisons are performed between the ratings and thematch probabilities. The comparisons generally indicate how well and howpoorly the calculated matches performed. Where matches are meet withgood results from either the manual ratings and/or the automaticratings, the scale factors of the relevant attributes may be increasedin the step 1110. Where the matches are meet with poor results fromeither the manual ratings and/or the automatic ratings, the scalefactors of the relevant attributes may be decreased in the step 1110. Assuch, the accuracy of the profiles are improved over time such thatbetter matches may be predicted.

Some filtering may be performed in one or more of the step 1102, 1104and/or 1106 to reduce noise that may cloud the results. A possibletechnique is to collapse a list of similar features into a single largerfeature that is more dense. For example, User 1 may “Like Porsche”, User2 may “Like Maserati” and so on. Rather than making each behavior into aunique attribute, an attribute may be defined such as “Likes a member ofthe set (Porsche, Maserati, etc. . . . )”. The technique generally workswell for like-type responses. For the millions of groups in existingsocial networks, and millions of possibilities in the profiledescriptions, the technique can also be a useful way of narrowing thevectors as sets can be derived through a hierarchical or linkage-basedclustering.

Another way to narrow the vectors is to introduce penalty for includingtoo many features. The pattern matching may be a least squaresregression. Therefore, penalized excessive features (e.g., using theLasso method) may automatically fall out of consideration.

Providing better matches generally has benefits to interactions andconnections for the users. For example, with the monitoring of theresult of the fit, either by asking the users directly to rate the matchand/or by observing the users behavior and sentiment on the network,groups can better understand whether or not the groups are attractingthe people that the group thinks should be attracted. A gap between whothe groups want to attract and who the groups are actually attractingmay exist. Identification of the gap by analyzing the matches may because for action in making changes in the organization. The systemincludes matching functions with the goal of matching users to theentities that may be a best match based on interests, values, andpreferences, yielding a better long term satisfaction.

As one of ordinary skill in the art will appreciate, various changes,substitutions, and alterations could be made or otherwise implementedwithout departing from the principles of the present invention. Forexample, the Internet can be replaced by a local area network (e.g.,LAN), a wide area network (e.g., WAN), or any other communicationnetwork. Other interfaces to other types of communication networks maybe implemented to meet the criteria of a particular application.Furthermore, a domain can include any activity, goal, need, and/orinterest. Accordingly, the scope of the invention should be determinedby the following claims and their legal equivalents.

While the invention has been particularly shown and described withreference to the preferred embodiments thereof, it will be understood bythose skilled in the art that various changes in form and details may bemade without departing from the scope of the invention.

The invention claimed is:
 1. A method of matching users based onbehavior in a social network, comprising the steps of: (A) gatheringinformation in a computer by observing one or more of said behaviors oftwo or more observed users among a plurality of said users of saidsocial network, wherein said behaviors include at least one of (i) oneor more reactions to content presented to said observed users, (ii) oneor more content created by said observed users and (iii) one or moreconnections established by said observed users; (B) generating aplurality of profiles of said observed users based on said information,wherein said behaviors are associated with a plurality of scale factors,respectively; (C) updating said profiles by refining said scale factors;(D) matching two or more of said observed users based on said profilesas updated; (E) communicating between said computer and said observedusers that were matched using a communication network; and (F)establishing a new behavior in response to said information not matchingany of said behaviors already known.
 2. The method according to claim 1,further comprising the step of: rating said match based on or more ofsaid behaviors observed from said observed users that were matched. 3.The method according to claim 2, wherein said scale factors are refinedbased on said rating.
 4. The method according to claim 1, furthercomprising the step of: rating said match based on one or more inputsreceived from said observed users that were matched.
 5. The methodaccording to claim 1, wherein said reactions are selected by saidobserved users from a set comprising (i) one or more levels ofsatisfaction, (ii) a neutral reaction and (iii) one or more levels ofdissatisfaction.
 6. The method according to claim 1, wherein saidcontent created by said observed users includes one or more among (i)self-descriptions, (ii) self-photographs, (iii) audio, (iv) video and(v) text.
 7. The method according to claim 1, wherein said connectionsinclude one or more among (i) friends, (ii) social dates, (iii)professional groups, (iv) social groups, (v) events, (vi) products,(vii) jobs, (viii) schools, (ix) education, (x) searches, (xi) links,(xii) media, (xiii) events, (xiv) purchases, (xv) travel, (xvi)communications, (xvii) locations and (xviii) bookmarks.
 8. The methodaccording to claim 1, further comprising the step of: estimating a newscale factor corresponding to said new behavior.
 9. An apparatuscomprising: a computer configured to (i) gather information by observingone or more behaviors of two or more observed users among a plurality ofusers of a social network, wherein said behaviors include at least oneof (a) one or more reactions to content presented to said observedusers, (b) one or more content created by said observed users and (c)one or more connections established by said observed users, (ii)generate a plurality of profiles of said observed users based on saidinformation, wherein said behaviors are associated with a plurality ofscale factors, respectively, (iii) update said profiles by refining saidscale factors and (iv) match two or more of said observed users based onsaid profiles as updated; and an interface to a communication networkconfigured to provide communications between said computer and saidobserved users that were matched, wherein said reactions are selected bysaid observed users from a set comprising (i) one or more levels ofsatisfaction, (ii) a neutral reaction and (iii) one or more levels ofdissatisfaction.
 10. The apparatus according to claim 9, wherein saidcomputer is further configured to rate said match based on or more ofsaid behaviors observed from said observed users that were matched. 11.The apparatus according to claim 10, wherein said scale factors arerefined based on said rating.
 12. The apparatus according to claim 9,wherein said computer is further configured to rate said match based onone or more inputs received from said observed users that were matched.13. The apparatus according to claim 9, wherein said content created bysaid observed users includes one or more among (i) self-descriptions,(ii) self-photographs, (iii) audio, (iv) video and (v) text.
 14. Theapparatus according to claim 9, wherein said connections include one ormore among (i) friends, (ii) social dates, (iii) professional groups,(iv) social groups, (v) events, (vi) products, (vii) jobs, (viii)schools, (ix) education, (x) searches, (xi) links, (xii) media, (xiii)events, (xiv) purchases, (xv) travel, (xvi) communications, (xvii)locations and (xviii) bookmarks.
 15. The apparatus according to claim 9,wherein said computer is further configured to establish a new behaviorin response to said information not matching any of said behaviorsalready known.
 16. The apparatus according to claim 15, wherein saidcomputer is further configured to estimate a new scale factorcorresponding to said new behavior.
 17. A method of matching users basedon behavior in a social network, comprising the steps of: (A) gatheringinformation in a computer by observing one or more of said behaviors oftwo or more observed users among a plurality of said users of saidsocial network, wherein said behaviors include at least one of (i) oneor more reactions to content presented to said observed users, (ii) oneor more content created by said observed users and (iii) one or moreconnections established by said observed users; (B) generating aplurality of profiles of said observed users based on said information,wherein said behaviors are associated with a plurality of scale factors,respectively; (C) updating said profiles by refining said scale factors;(D) matching two or more of said observed users based on said profilesas updated; and (E) communicating between said computer and saidobserved users that were matched using a communication network, whereinsaid reactions are selected by said observed users from a set comprising(i) one or more levels of satisfaction, (ii) a neutral reaction and(iii) one or more levels of dissatisfaction.
 18. The method according toclaim 17, further comprising the step of: rating said match based on ormore of said behaviors observed from said observed users that werematched.
 19. The method according to claim 18, wherein said scalefactors are refined based on said rating.
 20. The method according toclaim 17, further comprising the step of: rating said match based on oneor more inputs received from said observed users that were matched.